package com.usian.admin.utils;

import com.alibaba.fastjson.JSON;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;

import java.util.Map;

/**
 * 封装用友云 身份验证  各种接口
 */
public class YongYouYunAuthUtils {

    /**
     * 公用请求方法
     * url:请求路径  methods：请求方式  apicode：接口对应的apicode码  params：接收对应的apicode码参数
     * @return
     */
    public static ResponseEntity<String> conns(String url, String apicode, Map<String,Object> params){
        //使用RestTemplate对象  进行远程调用  java端Ajax
        RestTemplate restTemplate=new RestTemplate();
        //设置请求头信息
        HttpHeaders httpHeaders=new HttpHeaders();
        httpHeaders.add("apicode",apicode);
        //参数类型json
        httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
        //设置请求参数
        HttpEntity<String> entity=new HttpEntity<>(JSON.toJSONString(params),httpHeaders);
        //进行请求  并返回response
        //在这里正常情况下可以判断一下methods的请求是那种类型get或者post
        ResponseEntity<String> responseEntity=  restTemplate.postForEntity(url,entity,String.class);
       return responseEntity;
    }
}
